home *** CD-ROM | disk | FTP | other *** search
-
- ArcAut is a cellular automaton laboratory for the Archimedes; see the
- instructions for a general description of cellular automata.
-
- ArcAut permits saving & loading of screens. It expects to find a directory
- called 'Screens' within the directory in which !ArcAut is held, for the
- storage of these.
-
- Automaton code is held in a text file. It can be executed by either dragging
- from a filer window, or from a save dialogue box such as in !Edit, onto the
- ArcAut icon on the icon bar. The code for an automaton has the following
- syntax:
-
- AUTOMATON*
- <name>
- INITIALISATION*
- <basic1>
- SCREEN*
- <basic2>
- CODE*
- <code>
- END*
-
- Where basic1 is a BASIC routine defining initialisation of any parameters
- required by the automaton; these should be passed using system variables; &
- basic2 sets up the screen for the first generation. The routines are
- executed via a call to PROCdo, thus they should be enclosed within a
- definition of this procedure. They may call other FNs/PROCs. It is
- recommended that both these sections of Basic code use line numbers greater
- than 9. Note that the last line in each section of Basic code must terminate
- with at least one carriage return (or CHR$10).
- A library of useful procedures & functions common to many automatons is
- provided (called 'Library', stored in !ArcAut); these may be referred to
- without further definition & are always present (they may also be extended).
- Inclusion of common machine code routines is possible by appending them to
- the file 'Code' in !ArcAut. They may be accessed via their offset within the
- code using the pointer to the start address held in the Basic variable
- 'code%'. Any such routines are also always present. See the instructions or
- examples for details of current routines provided.
- 'code' describes the actual rules defining the automaton. This should begin
- with a '(' character, and terminate with a ')'. The rules are composed of
- elementary arithmetic & logical operators, a few commands, & a single means
- of conditional execution of differing parts of the code, all communicating
- via a very small stack using reverse polish notation. See the instructions
- or examples for details of this simple language. Note that additional spaces
- & carriage returns may be freely used between instructions to aid
- legibility; they will be ignored by ArcAut.